# -*- coding: utf-8 -*-

"""
@author: Laowang
@contact: QQ:1125564921
@Created on: 2022/6/20
@Remark: 
"""

from requests import Response
from typing import TypeVar, Optional, List, Generator, Union

# Dir
"""
The object location of the target directory, usually a directory
"""
PathDir = Optional[str]

# file
""" File name type """
FileName = Optional[str]

# this
"""
An object instantiated by a class is usually an instantiation of its own class
"""
Self = TypeVar("Self")

# request parameter
"""
The type of parameter required for the request  
    -1- Different requests require different parameters  
    -2- Define your own parameter types according to your own scenarios 
"""
RequestParamterType = TypeVar("RequestParamterType")

# request success or fail
ResponseResultType = bool

# Keep the remote response object
ResponseType = Response

# Json object after parsing the remote object
ResponseJonsType = str

# response
ResponseParamterType = Generator[ResponseResultType, ResponseType, ResponseJonsType]

# Symbol
Symbol = Optional[str]

#P Price
Price = Union[str, float]

_KT = TypeVar("_KT")
_VT = TypeVar("_VT")